package com.mdp.workflow.biz.ru.vo;

import com.mdp.workflow.biz.ru.entity.ProcinstNodeInfo;
import lombok.Data;

import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 启动流程所需要的参数
 */
@Data
public class ProcStartVo  {
	/**
	 * 流程主标题,存入流程实例中的name字段
	 */
	String mainTitle;

	/**
	 * 前端定义的业务编码
	 * bizKey与 model的关系由biz_model_link维护,存入流程引擎bussiessKey
	 */
	String bizKey;
	/**
	 * 流程定义编号
	 */
	String procDefId;

	/**
	 * 流程正文
	 */
	String mainContext;

	/**
	 * 业务跳转地址
	 */
	 String bizUrl;

	/**
	 * 业务主键
	 */
	 String bizId;

	/**
	 * 业务父组件
	 */
	String bizPid;

	/**
	 * 业务名称
	 */
	String bizName;

	/**
	 * 数据推送地址
	 */
	String restUrl;

	/**
	 * 附件列表
	 */
	String attUrls;

	/**
	 * 监控人
	 */
	String monitors;

	/**
	 * 主办人
	 */
	String sponsors;

	/**
	 * 计划完成时间
	 */
	Date planFinishTime;

	/**
	 * 自定义表单数据，可为空,formId存在则
	 */
	Map<String,Object> formData;

	/**
	 * 自定义表单编号，可空，存入流程实例中的formKey字段
	 */
	String formId;
	
	/**
	 * 各个任务节点的审批人设置，可为空，当流程配置发起时再定审批人，则在发起时需要填写各节点审核人
	 */
	Collection<ProcinstNodeInfo> nodeInfos;
	/**
	 * 提交给工作流流程实例持久化的变量池
	 * wfSponsors,wfMonitors,wfMainBody,
	 */
	Map<String,Object> flowVars;
	
	/**
	 * 下一步处理人/多实例时，赋值给assigneeList流程变量
	 */
	List<String> nextAssignees;

}